home *** CD-ROM | disk | FTP | other *** search
/ 64'er 1989 July / 64er_Magazin_89-07_1989_Markt__Technik_de_Side_A.d64 / teil 2.listing 4 (.txt) < prev    next >
Commodore BASIC  |  2022-10-26  |  2KB  |  73 lines

  1. 5 .li1,4,0
  2. 10 .ba 49152                ;startadresse
  3. 20 .gl irqvec = $0314       ;irq-vektor
  4. 30 .gl irqalt = $ea31       ;alte irq-routine
  5. 40 .gl vic    = $d000       ;basisadresse des vic
  6. 50 .gl irqmask= vic+26      ;irqmaskenregister
  7. 60 .gl irqflag= vic+25      ;irq-requestregister
  8. 70 .gl raster = vic+18      ;rasterzeilenregister
  9. 80 .gl border = vic+32      ;rahmenfarbe-register
  10. 90 .gl oben   = 100         ;obere rasterzeile
  11. 100 .gl unten  = 200         ;untere rasterzeile
  12. 110 .gl hibit  = vic+17      ;bit 8 der rasterzeilennummer
  13. 120 .gl ciatime= $dc0e       ;timer a steuerregister
  14. 130 ;
  15. 200 init sei;irq sperren
  16. 210  lda#oben;irq fuer rasterzeile 100
  17. 220  staraster
  18. 230  ldahibit;bit 8 loeschen
  19. 240  and#127
  20. 250  stahibit
  21. 260  lda#129;irq maskieren
  22. 270  stairqmask;raster-irq
  23. 280  lda#<(irqneu);irq-vektor auf neue
  24. 290  ldx#>(irqneu);irq-routine stellen
  25. 300  stairqvec
  26. 310  stxirqvec+1
  27. 320  ldaciatime;timer a stoppen
  28. 330  and#254
  29. 340  staciatime
  30. 350  cli;irq wieder zulassen
  31. 360  rts;und zurueck...
  32. 370 ;
  33. 380 deinit sei;irq sperren
  34. 390  lda#0;irq-maskenregister
  35. 400  stairqmask;loeschen
  36. 410  ldaciatime;timer a wieder starten
  37. 420  ora#1
  38. 430  staciatime
  39. 440  lda#<(irqalt);irq-vektor wieder auf
  40. 450  ldx#>(irqalt);alte irq-routine stellen
  41. 460  stairqvec
  42. 470  stxirqvec+1
  43. 480  cli;irq wieder zulassen
  44. 490  lda#14;normale rahmenfarbe
  45. 500  staborder;einschalten
  46. 510  rts;und zurueck...
  47. 520 ;
  48. 530 irqneu ldairqflag;vic-irq-flags lesen
  49. 540  stairqflag;und wieder schreiben
  50. 550 ;
  51. 560 vicirq ldaraster;rasterzeilenregister lesen
  52. 570  cmp#unten;groesser/gleich 200 ?
  53. 580  bcsoldcolor;ja, dann alte ramenfarbe
  54. 590 ;
  55. 600 newcolor lda#6;sonst neue rahmenfarbe
  56. 610  staborder
  57. 620  lda#unten;naechster irq bei zeile 200
  58. 630  staraster
  59. 640 ;
  60. 650 irqreturn pla;register zurueckholen
  61. 660  tay
  62. 670  pla
  63. 680  tax
  64. 690  pla
  65. 700  rti;und mit rti zurueck...
  66. 710 ;
  67. 720 oldcolor lda#14;alte ramenfarbe
  68. 730  staborder
  69. 740  lda#oben;naechster irq bei zeile 100
  70. 750  staraster
  71. 760  jmpirqalt;und zur alten irq-routine...
  72. 60000 .en
  73.